package cn.itcast.SellTicekts;
//锁对象 -- 需要被static来修饰 以确保可以被多有的线程所共享
//被static修饰的属性在类加载的时候创建 只创建一次 类的对象 字节码对象
public class SellTicektThread_02 extends Thread{
    //被static 修饰的属性  被所有的对象所共享!!!
    private static int ticekts = 100;
    //任意对象都可以  只要保证 对象唯一
    private  static Object object = new Object();

    @Override
    public void run() {
        while (true){
            synchronized(object){
                if(ticekts>0){
                    try {
                        Thread.sleep(50);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                    System.out.println(Thread.currentThread().getName()+"正在卖出第"+ticekts+"张票");
                    ticekts--;
                }
                else {
                    break;
                }
            }
        }
    }
}
